ER model 為大部分的後端專案在開發前會先規劃的一個文件, 尤其在開發API的時候, 很常都是在對資料庫做操作, 如果一開始的資料表規劃沒有規劃清楚, 很有可能造成API的結果不符合預期。
確認實體及關係:
ER model 提供了一種統一的方式來描述角色和角色之間的關係, 使整個實體結構化和有組織。
這裡我針對數據結構構化及實體關係做個簡單介紹:
以下是我實際的圖
我那時對於寶可夢的屬性(比如說natures、abilities…)是否可以用欄位去存,還是要存成表格有點疑問,因為我目前的這些屬性我就只有名稱,所以我做了一個比較:
好處:
好處:
缺點:
最後我選擇用表格的方式,考慮到整個專案之後的拓展,每個屬性還有可能再加入新的東西。
今天我還有一個情況是,我的寶可夢和技能是一個多對多關係,那我是要選擇在同一張表建立多個欄位(比如技能1、技能2…),還是用陣列儲存在一個欄位,還是我要直接創多對多表格。
以下我做了一個比較:
考慮到未來拓展性,我後來是採用在同一個pokemons表個儲存成陣列的方式。
ER模型不僅為後端開發提供了一個穩固的基礎,而且能確保開發團隊在整個專案的生命週期中都有清晰的數據指引。正確的前期規劃可以減少後期的困惑和不必要的修改,從而提高專案的效率和質量。